Salesforce UX API
bs6-8cg/TMF622- ListProductOrder-Aria
==> TMF-622 List Product Order
This operation get the plan instance information from Aria (Billing System) by using plan instance id
URL
https://[localhost]:[port]/sfdc-ux/v1/{businessId}/productOrder
url Param
name | type | description | required |
---|---|---|---|
businessId | string | 2 letter ISO 3166 country code (TT, BB, JM, PA, PR etc.) identifying the business unit. Expected one is "PR"-Puerto Rico | Y |
Header
name | value | description | required |
---|---|---|---|
client_id | string | The client_id identifying the channel. | Y |
client_secret | string | Password associated with the client_id. | Y |
X-Correlation-ID | string | Identifier that correlates HTTP request between a client and server. Any identification model (UUDI, checksum, etc.) can be used, as long as it is a unique value to differentiate a transaction. | Y |
channelId | string | The source | Y |
targetSystem | String | This describes the end system request is for Eg: โAsurionโ. Note - For Peacock Mobile Project, it's mandatory | Y |
Query Param
name | type | description | required |
---|---|---|---|
productOrderItem.product.id | String | The client defined ID of the plan instance | N |
Note - To work this functionality the queryParams.productOrderItem.product.id should be expected one.
Request
curl --location 'https://nonprod.esb.cloud.lla.com/dev/sfdc-ux/sfdc-ux/v1/PR/productOrder?productOrderItem.product.id=8024X00000CFsRbQAL' \
--header 'X-Correlation-Id: 644e1dd7-2a7f-18fb681143258' \
--header 'channelId: SFDC-B2C' \
--header 'targetSystem: ARIA' \
--header 'client_id: abcde' \
--header 'client_secret: 123456'
Possible response success
This section defines all the possible data structures received by the client and that must be considered satisfactory at the time of responding to the method.
[ 200 ]
OK - listProduct request processed successfully, response body contains an entity corresponding to the requested resource.
{
"relatedParty": [
{
"id": "23519213-23519143",
"@type": "AccountRef"
}
],
"@type": "ProductOrder",
"productOrderItem": [
{
"id": "6078",
"@type": "Plan",
"quantity": 1,
"product": {
"id": "8024X00000CFsRbQAL",
"description": "Generic Device",
"name": "LLA_General_Device",
"status": "active",
"@type": "PlanInstance",
"productCharacteristic": [
{
"name": "Original Financed Amount",
"value": "1199.99",
"@type": "PlanInstanceField"
},
{
"name": "Number of Payment Installments",
"value": "36",
"@type": "PlanInstanceField"
},
{
"name": "Remaining Financed Amount",
"value": "1033.34",
"@type": "PlanInstanceField"
},
{
"name": "Number of Installments Invoiced",
"value": "5",
"@type": "PlanInstanceField"
},
{
"name": "Monthly Installment",
"value": "33.33",
"@type": "PlanInstanceField"
},
{
"name": "Installment ID",
"value": "639524829248292",
"@type": "PlanInstanceField"
},
{
"name": "Description (English)",
"value": "Samsung Galaxy S23 Ultra",
"@type": "PlanInstanceField"
},
{
"name": "Description (Spanish)",
"value": "Samsung Galaxy S23 Ultra",
"@type": "PlanInstanceField"
},
{
"name": "Established On",
"value": "2023-12-13",
"@type": "PlanInstanceField"
},
{
"name": "Status",
"value": "ACTIVE",
"@type": "PlanInstanceField"
},
{
"name": "Promotional Amount Total",
"value": "0",
"@type": "PlanInstanceField"
},
{
"name": "Promotional Monthly Amount",
"value": "0",
"@type": "PlanInstanceField"
},
{
"name": "Number of Promo Discounts",
"value": "0",
"@type": "PlanInstanceField"
},
{
"name": "Number of Promo Discounts Given",
"value": "0",
"@type": "PlanInstanceField"
},
{
"name": "Current Promotional Discount Balance",
"value": "0",
"@type": "PlanInstanceField"
},
{
"name": "Promo Description (English)",
"value": "",
"@type": "PlanInstanceField"
},
{
"name": "Promo Description (Spanish)",
"value": "",
"@type": "PlanInstanceField"
},
{
"name": "last_bill_date",
"value": "2024-05-11T02:46:54"
},
{
"name": "next_bill_date",
"value": "2024-06-11T00:00:00"
},
{
"name": "bill_thru_date",
"value": "2024-06-10T00:00:00"
}
]
}
}
]
}
Definitions
Each of the request parameters is detailed.
name | type | description | required |
---|---|---|---|
relatedParty | array | Related Entity reference. A related party defines party or party role linked to a specific entity. | N |
relatedParty.id | string | Client specified account identifier | N |
relatedParty.@type | string | Related Party Type | N |
productOrderItem | array | An identified part of the order. A product order is decomposed into one or more order items. | N |
productOrderItem.id | string | The Aria assigned ID of the plan for this client plan instance id | N |
productOrderItem.quantity | integer | The number of units assigned to this instance | N |
productOrderItem.@type | string | Type of orderItem | N |
productOrderItem.product | object | A product to be created defined by value or existing defined by reference. | N |
productOrderItem.product.id | string | The client defined ID of the plan instance | N |
productOrderItem.product.name | string | The client defined ID of the plan on this instance | N |
productOrderItem.product.description | string | The name of the plan on this instance | N |
productOrderItem.product.status | string | The status code of the plan instance | N |
productOrderItem.product.@type | string | Product type | N |
productOrderItem.product. productCharacteristic | array | Describes a given characteristic of an object or entity through a name/value pair. | N |
productOrderItem.product. productCharacteristic.name | string | Name of the characteristic | N |
productOrderItem.product. productCharacteristic.value | string | The value of the characteristic | N |
productOrderItem.product. productCharacteristic.@type | string | Type of characteristic | N |
@type | string | Order type | N |
productCharacteristic values
name | type | description | required |
---|---|---|---|
Original Financed Amount | string | The value that was assigned to this field on this plan instance | N |
Number of Payment Installments | string | The value that was assigned to this field on this plan instance | N |
Remaining Financed Amount | string | The value that was assigned to this field on this plan instance | N |
Number of Installments Invoiced | string | The value that was assigned to this field on this plan instance | N |
Monthly Installment | string | The value that was assigned to this field on this plan instance | N |
Installment ID | string | The value that was assigned to this field on this plan instance | N |
Description (English) | string | The value that was assigned to this field on this plan instance | N |
Description (Spanish) | string | The value that was assigned to this field on this plan instance | N |
Established On | string | The value that was assigned to this field on this plan instance | N |
Status | string | The value that was assigned to this field on this plan instance | N |
Promotional Amount Total | string | The value that was assigned to this field on this plan instance | N |
Promotional Monthly Amount | string | The value that was assigned to this field on this plan instance | N |
Number of Promo Discounts | string | The value that was assigned to this field on this plan instance | N |
Number of Promo Discounts Given | string | The value that was assigned to this field on this plan instance | N |
Current Promotional Discount Balance | string | The value that was assigned to this field on this plan instance | N |
Promo Description (English) | string | The value that was assigned to this field on this plan instance | N |
Promo Description (Spanish) | string | The value that was assigned to this field on this plan instance | N |
last_bill_date | datetime | The last date on which the plan instance was billed | N |
next_bill_date | datetime | The next date on which the plan instance is scheduled to be billed | N |
bill_thru_date | datetime | The date through which the plan instance has been billed | N |
=============================================================================================================================
==> TMF-622 Patch Product Order towards Aria
By using this operations you can activate the Master Plan
URL
https://[localhost]:[port]/sfdc-ux/v1/{businessId}/productOrder/{id}
URL PARAMS
name | type | description | required |
---|---|---|---|
businessId | string | 2 letter ISO 3166 country code (TT, BB, JM, PA, PR etc.) identifying the business unit. | Y |
id | string | Unique external identifier for Master Plan in Aria System (Client defined identifier for Master plan) | Y |
Header
name | value | description | required |
---|---|---|---|
client_id | string | The client_id identifying the channel. | Y |
client_secret | string | Password associated with the client_id. | Y |
X-Correlation-ID | string | Identifier that correlates HTTP request between a client and server. Any identification model (UUDI, checksum, etc.) can be used, as long as it is a unique value to differentiate a transaction. Note - Mule default behavior creates a sample x-correlation-id field if value is not passed from client, API will use this value in case value is not passed in API request | Y |
channeId | string | Channel to business: Can be one of: "SFDC-B2Cโ, โSFDC-B2B" It is Conditionally Mandatory only for B2B and B2C as there are underlying conditions based on channelId received | Y |
targetSystem | String | This describes the end system request is for Eg: โAriaโ, โMatrixxโ. It is Conditionally Mandatory only for B2B and B2C as there are underlying conditions based on targetSystem received | Y |
LOB | String | The Line of Business Identifier currently available is: POSTPAID | N |
cURL request
curl --location --request PATCH '
https://nonprod.esb.cloud.lla.com/dev/sfdc-ux/sfdc-ux/v1/PR/productOrder/20240130-00010001_MPI_000'
\
--header 'X-Correlation-Id: 644e1dd7-2a7f-18fb-b8ed-ed78c3F92c2b' \
--header 'lob: POSTPAID' \
--header 'channelId: SFDC-B2C' \
--header 'targetSystem: ARIA' \
--header 'client_id: 784c9a6dd7ae49768816cab57fcf1fa1' \
--header 'client_secret: 187b259EB77441babbF611d2646C670d' \
--header 'Content-Type: application/json' \
--data-raw '{
"relatedParty": [
{
"id": "20240130-00010001",
"@type": "AccountRef"
}
],
"@type": "ProductOrder",
"productOrderItem": [
{
"id": "01",
"action": "modify",
"@type": "AccountPlan",
"quantity": 1,
"product": {
"id": "20240130-00010001_MPI_000",
"status": "active"
}
}
]
}'
Definition:
name | type | description | required |
---|---|---|---|
relatedParty | array | Related Entity reference. | Y |
relatedParty.id | string | Client-defined account identifier | Y |
relatedParty.@type | string | relatedParty type | Y |
productOrderItem | array | An identified part of the order. A product order is decomposed into one or more order items. | Y |
productOrderItem.id | string | Identifier of the line item (generally it is a sequence number 01, 02, 03, ...) | N |
productOrderItem.action | string | action to be performed on the product | Y |
productOrderItem.@type | string | Product order item type | N |
productOrderItem.quantity | integer | Quantity ordered | N |
productOrderItem.product | object | A product to be created defined by value or existing defined by reference. | Y |
productOrderItem.product.id | string | The client-defined identifier of the plan instance (master plan). | Y |
productOrderItem.product.status | string | The status of this plan instance. | Y |
@type | string | When sub-classing, this defines the sub-class entity name | N |
Possible response success
This section defines all the possible data structures received by the client and that must be considered satisfactory at the time of responding to the method.
[ 200]
OK - patch request processed successfully, response body contains an entity corresponding to the requested resource.
{
"state": "completed"
}
Definition:
name | type | description | required |
---|---|---|---|
state | string | the state of the order | N |